As is known in the art, networks have been created that allow generalized sharing of data between computer platforms. One typical arrangement for data sharing includes a central server computer that contains data in memory and one or more client computers in direct communication with the server. When the client computers are in close proximity to the server, this type of network is generically referred to a local area network (LAN). The client computers have direct access to the data on the central server and can generally both write and read data to and from the central server memory. Each client computer has access privileges that allow the client to alter a given data file that resides on the server.
In local area network client/server systems, the central server controls the general access privileges of client computers. Typically, each client must log on to the server for access to central server data. For example, each client may need a username and a password. The central server can further restrict access to particular memory locations or particular files that reside on the central server.
Some software applications have a provision that prohibits the user of a second client computer from altering a given data file on the central server while the user of a first client computer has opened the file for viewing or editing. For example, most word processing application programs allow read-only access by client computers to a file that is open for editing by one client computer. This simple type of file access management system is not optimal where it is desired that the multiple client computers have simultaneous editing access to a file. This system is also not optimal where data file security is an issue, since a user of any one client computer can incorrectly alter a file.
In some instances, it is desirable for several client computers to have editing access to a given file on the central server simultaneously. As is known to one of ordinary skill in the art, file management application software has been created for managing the conflicts that can occur in accessing a file when the file of interest resides on a central server and multiple client computers need full editing access to the file at the same time. For example, file management systems typically used for software development can allow multiple client computers to access a given file on the central server, edit the file individually, and “merge” the multiple edits back into the original file. Thus, the individual edits done by the multiple client computers are all merged back into the original file that resides on the central server. This type of file management application software resides on the central server.
Other types of access restriction include connection between client computers and a central server through an Internet web browser. Data communication protocols associated with web browser software control the access that client computers can have to data on the central server. The central server contains Internet Protocol (IP) “socket” software that primarily allows an Internet connection, and can secondarily be used to restrict access to include only remote client computers that have certain IP addresses.
It will be recognized by one of ordinary skill in the art that all of the above examples can depict either a LAN with a central server in proximity to one or more client computers, or a wide area network (WAN) with a central server geographically remote from the one or more client computers. In data sharing systems where the central server is remote from the client computers, the central server can still control the access by the same method described above in association with a LAN.
For certain applications, a central server does not provide sufficient security of sensitive data. For example, military data which is intended to be shared among friendly countries is data for which enhanced protection is desired. The various sharing countries may want to share data, and provide security for their respective central data bases. A central server alone, placed in only one of a group of countries can be vulnerable to interception of data that is intended for only a sub-set of the members of the group. A central server can be subject to data file corruption, data file tampering, and data file interception, particularly from the country in which the server resides.
It would therefore be desirable to provide a data sharing system in which shared data is stored at each respective sharing site. It would further be desirable to provide a data sharing system in which remote computer systems have selective control that provides the ability to select those sharing partners to whom data will be shared. It would be further desirable to provide a data sharing system in which each data file can be selectively shared to different sharing partners.